// js提供的解决实例和类之间的关系
// 面向对象语言中 class 不言自明
// java 中 this 属于 class 方法之间，共享属性和方法 this.
// JS 在函数中引入this new 不需要返回对象(call constructor),
// 函数看过去更像构造函数 this -> 实例化后的对象
function Cat(name, color){
    this.name=name;
    this.color=color;
}

let cat1 = new Cat('大毛','黄色');
let cat2 = new Cat('二毛','绿色');

console.log(cat1.constructor) //父子关系
console.log(cat1.constructor,cat1.constructor == cat2.constructor) //兄弟
console.log(cat1.__proto__.constructor == cat2.__proto__.constructor)
console.log(cat1 instanceof Cat)

console.log(Cat.prototype.isPrototypeOf(cat1));  //当前对象(Cat) 是否是另一个对象(cat1)的原型